perm filename DECOP.LSP[BNF,JRA] blob
sn#005917 filedate 1972-10-25 generic text, type T, neo UTF8
(DEFPROP <INPUT>
(LAMBDA NIL
(NLRR (QUOTE INPUT)
(FUNCTION
(LAMBDA NIL
(COND ((AND (<DECOP>) (CH :) (<OPLIST>)) (CONS (STK 2) (STK 0)))
((AND (<ID>) (CH :)) (STK 1))
((AND (<S>)) (STK 0))
(*NIL*))))))
EXPR)
(DEFPROP >INPUT<
(LAMBDA(%N)
(OUTRUL %N
(FUNCTION
(LAMBDA NIL
(COND ((AND (MATCH (QUOTE (* . *))) (>DECOP< 1) (>OPLIST< 0)) (LIST (STK1) (QUOTE (:CH :)) (STK0)))
((>S< 1) (STK1))
((>ID< 1) (LIST (STK1) (QUOTE (:CH :)))))))))
EXPR)
(DEFPROP <OPLIST>
(LAMBDA NIL (NLRR (QUOTE OPLIST) (FUNCTION (LAMBDA NIL (COND ((AND (<OPL>) (CH ;)) (STK 1)) (*NIL*))))))
EXPR)
(DEFPROP >OPLIST<
(LAMBDA (%N) (OUTRUL %N (FUNCTION (LAMBDA NIL (COND ((>OPL< 1) (LIST (STK1) (QUOTE (:CH ;)))))))))
EXPR)
(DEFPROP <OPL>
(LAMBDA NIL
(NLRR (QUOTE OPL)
(FUNCTION
(LAMBDA NIL
(COND ((AND (<OP>) (CH /,) (<OPL>)) (CONS (STK 2) (STK 0)))
((AND (<OP>)) (CONS (STK 0) NIL))
(*NIL*))))))
EXPR)
(DEFPROP >OPL<
(LAMBDA(%N)
(OUTRUL %N
(FUNCTION
(LAMBDA NIL
(COND ((AND (MATCH (QUOTE (*))) (>OP< 0)) (STK0))
((AND (MATCH (QUOTE (* . *))) (>OP< 1) (>OPL< 0)) (LIST (STK1) (QUOTE (:CH /,)) (STK0))))))))
EXPR)